package com.lwl.controller;

import com.github.pagehelper.PageInfo;
import com.lwl.entity.LayData;
import com.lwl.entity.MyPage;
import com.lwl.entity.TRole;
import com.lwl.entity.Tuser;
import com.lwl.service.TRoleService;
import org.springframework.web.bind.annotation.*;
import org.springframework.beans.factory.annotation.Autowired;

/**
 * (TRole)表控制层
 *
 * @author Lei
 * @since 2022-10-22 16:38:49
 */
@RestController
@RequestMapping("tRole")
public class TRoleController {
    /**
     * 服务对象
     */
    @Autowired
    private TRoleService tRoleService;

    /**
     * 用户展示时查询所有的角色信息，当做模糊查询的选择
     * @return
     */
    @GetMapping("getAll")
    public LayData getAll(){
        System.out.println("开始查询角色信息");
        return new LayData(tRoleService.getAll());
    }

    /**
     * 查询所有的角色信息进行分页展示
     * @return
     */
    @GetMapping("queryAllRole")
    public LayData queryAllRole(MyPage myPage, Tuser tuser){

        PageInfo pageInfo = tRoleService.queryAllRole(myPage,tuser);

        return new LayData(pageInfo);
    }

    /**
     * 添加/修改角色信息
     * @param tRole
     * @return
     */
    @PostMapping("addRole")
    public LayData addRole(TRole tRole){
        boolean status = tRoleService.insertRole(tRole);
        return new LayData(status);
    }

    /**
     * 添加角色时先验证一下数据库中是否有相同的角色信息
     * @param rname
     * @return
     */
    @PostMapping("queryByRoleName")
    public LayData queryByRoleName(String rname){
        boolean status = tRoleService.queryByRoleName(rname);
        return new LayData(status);
    }

    /**
     * 删除角色信息时，先判断该用户下面有没有对应的用户，如果有则不能进行删除
     * @param id
     * @return
     */
    @PostMapping("deleteRole")
    public LayData deleteRole(Integer id){
        boolean status = tRoleService.deleteRole(id);
        return new LayData(status);
    }


}
